package yinghuadongman

import (
	"fmt"
	"github.com/PuerkitoBio/goquery"
	"log"
	"strings"
	"xiaoniu-task/pkg/feishu"
	"xiaoniu-task/pkg/req"
)

func DoJob(taskLog *log.Logger) {
	dmUrl := "https://m.yhdmp.live/list/?order=%E6%9B%B4%E6%96%B0%E6%97%B6%E9%97%B4"
	res, err := req.Get(dmUrl)
	if err != nil {
		taskLog.Println("请求樱花动漫页面出错：", err)
		feishu.PushText("[今日动漫更新] 请求樱花动漫页面出错：" + err.Error())
		return
	}
	doc, err := goquery.NewDocumentFromReader(strings.NewReader(res))
	if err != nil {
		taskLog.Println("解析页面html出错：", err)
		feishu.PushText("[今日动漫更新] 解析页面html出错：" + err.Error())
		return
	}
	var sb strings.Builder
	// 取前5个更新的动漫名称、集数和对应的访问地址
	cnt := 1
	sb.WriteString("[今日动漫更新]\n")
	doc.Find(".item").Each(func(i int, s *goquery.Selection) {
		if cnt > 5 {
			return
		}
		name := s.Find(".itemtext").Text()
		order := s.Find(".itemimgtext").Text()
		href, exists := s.Find(".itemtext").Attr("href")
		if exists {
			href = "https://m.yhdmp.live" + href
		} else {
			href = "无"
		}
		sb.WriteString(fmt.Sprintf("%s(%s), 对应观看地址为：%s\n", name, order, href))
		cnt++
	})

	// 推送5个最新的更新动漫到飞书
	feishu.PushText(sb.String())

	taskLog.Println("任务执行完成！")
}
